<?php
session_start();
include_once '../modelo/Guia.php';
include_once '../modelo/Usuario.php';
include_once '../modelo/Gestion_Producto.php';
include_once '../modelo/Conexion.php';

class Gestion_Guia{
	
	public function GuardaGuia($id,$usuario,$estatus,$volumen,$shipvia,$formapago,$seguro,$precio,$fecha)
	{
		$query="insert into guia values(null, ". $usuario .", '". $estatus ."',	". $volumen .", '". $shipvia ."', '". $formapago."', '". $seguro."', ".$precio.", '".$fecha."')";
		$query = Conectar($query);
	}
	
	public function ModificaGuia($id,$usuario,$estatus,$volumen,$shipvia,$formapago,$seguro,$precio,$fecha)
	{
		$query = "update guia set volumen=". $volumen .", ship_via='". $shipvia ."', forma_pago='". $formapago ."', seguro='". $seguro ."', precio=". $precio .", estatus='". $estatus ."', fecha='". $fecha ."' where id =".$id;
		$query = Conectar($query);
	}
	
	public function UltimaGuia()
	{
		$query = "select max(id) from guia";
        $query = Conectar($query);
        $num = mysql_num_rows($query);
        if ($num == 0)
            return NULL;
        else {
            return $row['max(id)'];
        }
	}

	public function BuscaGuia()
	{
		$query = "SELECT * FROM guia";
		$query = Conectar($query);
		$num = mysql_num_rows($query);
        if ($num == 0)
            return NULL;
        else {
        	$lista_guia = array(); 
            while ($row = mysql_fetch_assoc($query))
            {
            	$guia = new guia();
				$usuario=$row['id_usuario'];
				$query2="SELECT * FROM usuario where id=".$row['id_usuario'];
				$query2 = Conectar($query2);
				$num2 = mysql_num_rows($query2);
				if ($num2 == 0)
					return null;
				else {
					$row2 = mysql_fetch_assoc($query2);
					$usuario=new Usuario();
               		$usuario->set_todos_datos($row2['id'], $row2['nombre1'], $row2['nombre2'], $row2['apellido1'], $row2['apellido2'], $row2['organizacion'], $row2['telefono'], $row2['pais'], $row2['ciudad'], $row2['estado'], $row2['direccion'], $row2['email']);					
				}
				$guia->SetDatos($row['id'],$usuario,$row['estatus'],$row['volumen'],$row['ship_via'],$row['forma_pago'],$row['seguro'],$row['precio'],$row['fecha']);
                $gestionProducto = new Gestion_Producto();
                $productocomp = $gestionProducto->BuscaProductoCompradoPorGuia($row['id']);
				$productoenv = $gestionProducto->BuscaProductoenviadoPorGuia($row['id']);
				$guia->setproductocomp($productocomp);
				$guia->setproductoenv($productoenv);
				
				
                $lista_guia[]=$guia;
            }
            return $lista_guia;
        }
	}

	public function BuscaGuiaId($id)
	{
		$query = "SELECT * FROM guia where id=".$id;
		$query = Conectar($query);
		$num = mysql_num_rows($query);
        if ($num == 0)
            return NULL;
        else {        	
            if ($row = mysql_fetch_assoc($query))
            {
            	$guia = new guia();
				$usuario=$row['id_usuario'];
				$query2="SELECT * FROM usuario where id=".$row['id_usuario'];
				$query2 = Conectar($query2);
				$num2 = mysql_num_rows($query2);
				if ($num2 == 0)
					return null;
				else {
					$row2 = mysql_fetch_assoc($query2);
					$usuario=new Usuario();
               		$usuario->set_todos_datos($row2['id'], $row2['nombre1'], $row2['nombre2'], $row2['apellido1'], $row2['apellido2'], $row2['organizacion'], $row2['telefono'], $row2['pais'], $row2['ciudad'], $row2['estado'], $row2['direccion'], $row2['email']);					
				}
				$guia->SetDatos($row['id'],$usuario,$row['estatus'],$row['volumen'],$row['ship_via'],$row['forma_pago'],$row['seguro'],$row['precio'],$row['fecha']);
                $gestionProducto = new Gestion_Producto();
                $productocomp = $gestionProducto->BuscaProductoCompradoPorGuia($row['id']);
				$productoenv = $gestionProducto->BuscaProductoenviadoPorGuia($row['id']);
				$guia->setproductocomp($productocomp);
				$guia->setproductoenv($productoenv);
				
            }
            return $guia;
        }
	}

	public function GuardaGuiaBD($guia)
	{
		$id = $guia->getid();
		$usuario = $guia->getusuario();
		$idusuario = $usuario->$casillero;
		$productocomp = $guia->GetProductocom();
		$productoenv = $guia->GetProductoenv();
		$precio=calculapreciototal($guia);
		$query="insert into guia values(null,".$idusuario .", null , null,'".$guia->getshipvia()."','".$guia->getformapago() ."','". $guia->getseguro()."',	".$precio.", ".$guia->gettaxcompra().",".$guia->gettaxenvio().",'".$guia->getfecha()."')";
		$query= Conectar($query);
		$num = mysql_num_rows($query);
        if ($num == 0)
            return NULL;
        else {
        	$idguia=UltimaGuia();
			if ($productocomp)
        	foreach ($productocomp as $productocomprado) {
        		$query2="insert into producto_comprado values (null,'". $productocomprado->get_descripcion() ."',". $productocomprado->get_cant() .",'". $productocomprado->get_num_orden()."',".$productocomprado->get_precio_unit().",".$productocomprado->get_precio_total().",".$idguia.")";
				$query2=Conectar($query2);
			}				
			if ($productoenv)
			foreach ($productoenv as $productoenviado) {
				$query2="insert into producto_enviado values(null,". $productoenviado->get_paquete().",".$productoenviado->get_dimention_l().",". $productoenviado->get_dimention_h() .", ".$productoenviado->get_dimention_w().", '".$productoenviado->get_descripcion()."',".$idguia.")";
				$query2=Conectar($query2);
			}
			$_SESSION['lista_producto_comprado']=null;
			$_SESSION['lista_producto_enviado']=null;
		}
	}
	
	public function calculapreciototal($guia)
	{
		$productocomp = $guia->GetProductocom();
		$productoenv = $guia->GetProductoenv();
		if ($productocomp && $productoenv) {
			$preciototal=0;
			$volumen=0;
			foreach ($productocomp as $productocomprado) {
				$precioproducto=$productocomprado->get_precio_total();
				$preciototal=$preciototal+$precioproducto;
			}				
			foreach ($productoenv as $productoenviado) {
				$preciototal=$preciototal+$productoenviado->get_volumenweight();
			}	
			$preciototal=$preciototal*$constmultiplicador;
			$preciototal=number_format($preciototal,2);
			return $preciototal;
		}else if ($productocomp){
			$preciototal=0;
			foreach ($productocomp as $productocomprado) {
				$precioproducto=$productocomprado->get_precio_total();
				$preciototal=$preciototal+$precioproducto;
			}			 
			return $preciototal;
		}else if ($productoenv){
			$preciototal=0;
			$volumen=0;
			foreach ($productoenv as $productoenviado) {
				$preciototal=$preciototal+$productoenviado->get_volumenweight();
			}	
			$preciototal=$preciototal*$constmultiplicador;
			$preciototal=number_format($preciototal,2);
			return $preciototal;
		}
	}
	
	public function AutoBuscaGuia($parametro)
	{
		$query = "SELECT * FROM guia g, usuario u  WHERE (g.id LIKE '".$parametro."%' or g.estatus LIKE '".$parametro."%' or g.volumen  LIKE '".$parametro."%' or g.ship_via  LIKE '".$parametro."%' or g.forma_pago LIKE '".$parametro."%' or g.seguro  LIKE '".$parametro."%'  or g.precio  LIKE '".$parametro."%' or u.nombre1  LIKE '".$parametro."%' or u.nombre2  LIKE '".$parametro."%' or u.apellido2  LIKE '".$parametro."%' or u.apellido1 LIKE '".$parametro."%' or g.fecha LIKE '".$parametro."%') and g.id_usuario=u.id";
		$query = Conectar($query);
		$num = mysql_num_rows($query);
        if ($num == 0)
            return NULL;
        else {
        	$lista_guia = array(); 
            while ($row = mysql_fetch_assoc($query))
            {
            	$guia = new guia();
				$usuario=$row['id_usuario'];
				$query2="SELECT * FROM usuario where id=".$row['id_usuario'];
				$query2 = Conectar($query2);
				$num2 = mysql_num_rows($query2);
				if ($num2 == 0)
					return null;
				else {
					$row2 = mysql_fetch_assoc($query2);
					$usuario=new Usuario();
               		$usuario->set_todos_datos($row2['id'], $row2['nombre1'], $row2['nombre2'], $row2['apellido1'], $row2['apellido2'], $row2['organizacion'], $row2['telefono'], $row2['pais'], $row2['ciudad'], $row2['estado'], $row2['direccion'], $row2['email']);					
				}
				$guia->SetDatos($row['id'],$usuario,$row['estatus'],$row['volumen'],$row['ship_via'],$row['forma_pago'],$row['seguro'],$row['precio'],$row['fecha']);
                $gestionProducto = new Gestion_Producto();
                $productocomp = $gestionProducto->BuscaProductoCompradoPorGuia($row['id']);
				$productoenv = $gestionProducto->BuscaProductoenviadoPorGuia($row['id']);
				$guia->setproductocomp($productocomp);
				$guia->setproductoenv($productoenv);
				
				
                $lista_guia[]=$guia;
            }
            return $lista_guia;
        }
	}

	public function BuscaGuiaFecha($fechaInicial,$fechaFinal)
	{
		$query = "SELECT * FROM guia  WHERE fecha BETWEEN  '".$fechaInicial."' and '".$fechaFinal."' ";
		$query = Conectar($query);
		$num = mysql_num_rows($query);
        if ($num == 0)
            return NULL;
        else {
        	$lista_guia = array(); 
            while ($row = mysql_fetch_assoc($query))
            {
            	$guia = new guia();
				$usuario=$row['id_usuario'];
				$query2="SELECT * FROM usuario where id=".$row['id_usuario'];
				$query2 = Conectar($query2);
				$num2 = mysql_num_rows($query2);
				if ($num2 == 0)
					return null;
				else {
					$row2 = mysql_fetch_assoc($query2);
					$usuario=new Usuario();
               		$usuario->set_todos_datos($row2['id'], $row2['nombre1'], $row2['nombre2'], $row2['apellido1'], $row2['apellido2'], $row2['organizacion'], $row2['telefono'], $row2['pais'], $row2['ciudad'], $row2['estado'], $row2['direccion'], $row2['email']);					
				}
				$guia->SetDatos($row['id'],$usuario,$row['estatus'],$row['volumen'],$row['ship_via'],$row['forma_pago'],$row['seguro'],$row['precio'],$row['fecha']);
                $gestionProducto = new Gestion_Producto();
                $productocomp = $gestionProducto->BuscaProductoCompradoPorGuia($row['id']);
				$productoenv = $gestionProducto->BuscaProductoenviadoPorGuia($row['id']);
				$guia->setproductocomp($productocomp);
				$guia->setproductoenv($productoenv);
				
				
                $lista_guia[]=$guia;
            }
            return $lista_guia;
        }
	}


}
?>